Repository navigation
docs(skills): teach the five-step locale ladder resolveLocaleAmong runs - #30700
Conversation
The objectstack-i18n skill still taught the in-memory fallback's old four-step ladder. Both server resolvers now share resolveLocaleAmong, which maps the request through the platform locale table between the case-insensitive and base-language steps, so zh-TW reaches a registered zh-Hant bundle. The sentence now names the five steps in code order, names resolveLocaleAmong, and gives the zh-TW to zh-Hant example. Claude-Session: https://claude.ai/code/session_016WV4czZcAEZpkY6CfBWJY7 Co-authored-by: Claude <noreply@anthropic.com>
|
domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk Contract-review-claim: session_016WV4d1mkgEris4MHHLjtnk · head d9c1c6b · 2026-11-05T22:41Z |
|
domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk Contract reviewServed-tier: ① Derived judgments
② Semver level
③ Boundary flags
④ Design judgment
Implemented-by: VERDICT: PASS |
|
domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk 维护者速读
席位核对 — ACCEPT · head d9c1c6b
|
Requested by Elon · project thread
Fixes #30603
Clause-②: no
Metadata-protocol: none
维护者速读
objectstack-i18n技能里讲内存兜底语言匹配顺序的那一句,从旧的四步改成代码实际跑的五步,并点名resolveLocaleAmong,给出zh-TW→zh-Hant的例子。resolveLocaleAmong,在大小写不敏感和基础语言之间加了“平台语言表”一步;旧句子会让 AI 以为zh-TW落到第一个注册的zh-*(可能是简体)。skills/objectstack-i18n/SKILL.md第 376–379 行那一处 hunk。node scripts/check-skills-token-ratchet.mjs | grep objectstack-i18n/SKILL,预期 5718 tokens(上限 6333,未抬上限)。skills/**),请在席位契约复核通过后审批合并。What changes
skills/objectstack-i18n/SKILL.md: the sentence on the in-memory fallback's locale matching now names the ladderresolveLocaleAmong(@objectstack/spec/system) runs, the oneresolveBundleLocalealso runs, in the code's order: exact, case-insensitive, same platform-table language (zh-TW→zh-Hant), base language, first registered variant. One root changeset,'@objectstack/skills': patch. No other skill text changes; no eval case added (the eval fixtures carry no locale-ladder case, and the card scopes the sentence alone).The five steps are read off
origin/mainb77c160a:packages/spec/src/system/i18n-resolver.ts(resolveLocaleAmong, steps 1 to 5) and its testresolveLocaleAmong answers the same over a list(zh-TWamongen, zh-CN, zh-Hantanswerszh-Hant); core'sresolveLocaleinpackages/core/src/fallbacks/memory-i18n.tsreturnsresolveLocaleAmongdirectly.Tests
Docs-only diff under
skills/**; no package code or test changes, so no package test or typecheck owed.Acceptance notes
skills/objectstack-i18n/SKILL.md5673 → 5718 tokens (+45), ceiling 6333 unchanged, headroom 660 → 615. Lines 520 → 522; bytes 22712 → 22891.SKILL.mdfiles summed 4534 → 4536 lines.Verification
Every reading below is on head
d9c1c6b4(baseorigin/mainb77c160a).node scripts/pm/dispatch-gates.mjs --ran: 44 derived families accounted for, 44 run, 0 NOT-MEASURED, 0 UNRUN; every family exit 0.pnpm lint: exit 0.node scripts/check-skills-token-ratchet.mjs: exit 0;skills/objectstack-i18n/SKILL.md is 5718 tokens (ceiling 6333; headroom 615).node scripts/check-commit-card-trailers.mjs --range origin/main..HEAD: exit 0.check:doc-formula-expressions,check:dts-closure,check:dual-build-cjs-loads,check:lean-entry-closure,check:sourcemap-no-sources-content. After a whole-treeturbo run buildunderos-verify-lock.sh(VERDICT command-exit 0), all five exit 0; those are the recorded codes.Per-family exit codes
Generated by Claude Code